A field programmable gate array (FPGA) integrated circuit includes input/output (I/O) regions, regions of programmable logic circuits, and programmable interconnect resources that can be used to interconnect the regions of programmable logic circuits with each other and with the I/O regions. By properly programming or configuring the programmable logic circuits and the programmable interconnect resources, a user can configure an FPGA to perform a desired function. The I/O regions also may be programmable.
The interconnect resources of an FPGA may include global interconnect resources that carry signals to and among many different parts of the integrated circuit, regional interconnect resources that carry signals within a substantial portion, but less than all, of the integrated circuit, and local interconnect resources that carry signals within groupings of programmable logic circuits.
FPGAs have been continually increasing in size and capability. Many FPGAs have a large number of channels in the I/O regions that receive and transmit data signals with external devices. However, as the number of channels on an FPGA has increased, the amount of interconnect resources, including both signal lines and switching or routing resources to create desired signal paths, also has increased. In many current FPGAs, the interconnect resources consume a substantial portion of the die area of the integrated circuit. Thousands of interconnect wires may be used to connect multiple FPGAs to each other and to other integrated circuits on a circuit board.